﻿using System;
using System.Threading.Tasks;

namespace _050_启用Task的三种方法
{
    class Program
    {
        static void Main(string[] args)
        {

            //第一种方法，实例化Task类，然后调用Start方法 
            Task 任务1 = new Task(() =>
              {
                  Console.WriteLine("任务1已经执行");
              });

            //启动任务
            任务1.Start();
            任务1.Wait();  //Wait方法的作用是在当前线程上等待Task执行完成

            //第二种方法 直接调用Task类的Run静态方法 
            Task 任务2 = Task.Run(() =>
            {
                Console.WriteLine("任务2已经执行。");
            });
            任务2.Wait();

            //第三种方法，通过TaskFactory类来实现新的Task
            TaskFactory 任务工厂 = new TaskFactory();
            Task 任务3 = 任务工厂.StartNew(() =>
            {
                Console.WriteLine("任务3已执行。");
            });
            任务3.Wait();
        }

    }
}
